From 3bddff4a583360d8fdd7f58f8be55802795bafdf Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Fri, 16 Feb 2007 16:34:28 +0000 Subject: [PATCH] x86-64: fix Lx_DISALLOW_MASK x86-64's Lx_DISALLOW_MASK values weren't properly taking care of the NX bit, L3 and L4 were needlessly customized, and the compat mode L3 one wasn't really matching native PAE. Signed-off-by: Jan Beulich --- xen/include/asm-x86/x86_64/page.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/xen/include/asm-x86/x86_64/page.h b/xen/include/asm-x86/x86_64/page.h index ecda3a7bf5..257162398d 100644 --- a/xen/include/asm-x86/x86_64/page.h +++ b/xen/include/asm-x86/x86_64/page.h @@ -89,14 +89,14 @@ typedef l4_pgentry_t root_pgentry_t; * Permit the NX bit if the hardware supports it. * Note that range [62:52] is available for software use on x86/64. */ -#define BASE_DISALLOW_MASK (0xFF000180U & ~_PAGE_NX) +#define BASE_DISALLOW_MASK (0xFF800180U & ~_PAGE_NX) #define L1_DISALLOW_MASK (BASE_DISALLOW_MASK | _PAGE_GNTTAB) #define L2_DISALLOW_MASK (BASE_DISALLOW_MASK) -#define L3_DISALLOW_MASK (BASE_DISALLOW_MASK | 0x180U /* must-be-zero */) -#define L4_DISALLOW_MASK (BASE_DISALLOW_MASK | 0x180U /* must-be-zero */) +#define L3_DISALLOW_MASK (BASE_DISALLOW_MASK) +#define L4_DISALLOW_MASK (BASE_DISALLOW_MASK) -#define COMPAT_L3_DISALLOW_MASK L3_DISALLOW_MASK +#define COMPAT_L3_DISALLOW_MASK 0xFFFFF1E6U #define PAGE_HYPERVISOR (__PAGE_HYPERVISOR | _PAGE_GLOBAL) #define PAGE_HYPERVISOR_NOCACHE (__PAGE_HYPERVISOR_NOCACHE | _PAGE_GLOBAL) -- 2.30.2